{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Getting started with DoWhy: A simple example\n",
    "This is a quick introduction to the DoWhy causal inference library.\n",
    "We will load in a sample dataset and estimate the causal effect of a (pre-specified)treatment variable on a (pre-specified) outcome variable.\n",
    "\n",
    "First, let us load all required packages."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "import dowhy\n",
    "from dowhy import CausalModel\n",
    "import dowhy.datasets \n",
    "\n",
    "# Avoid printing dataconversion warnings from sklearn\n",
    "import warnings\n",
    "from sklearn.exceptions import DataConversionWarning\n",
    "warnings.filterwarnings(action='ignore', category=DataConversionWarning)\n",
    "\n",
    "# Config dict to set the logging level\n",
    "import logging.config\n",
    "DEFAULT_LOGGING = {\n",
    "    'version': 1,\n",
    "    'disable_existing_loggers': False,\n",
    "    'loggers': {\n",
    "        '': {\n",
    "            'level': 'WARN',\n",
    "        },\n",
    "    }\n",
    "}\n",
    "\n",
    "logging.config.dictConfig(DEFAULT_LOGGING)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, let us load a dataset. For simplicity, we simulate a dataset with linear relationships between common causes and treatment, and common causes and outcome. \n",
    "\n",
    "Beta is the true causal effect. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "         X0   Z0        Z1        W0        W1        W2        W3 W4     v0  \\\n",
      "0 -1.030109  0.0  0.779284 -0.394498 -0.385477 -0.367360  0.645206  3   True   \n",
      "1 -2.030467  0.0  0.535372 -1.006139 -0.926995 -0.138417 -1.484328  0  False   \n",
      "2 -1.586061  0.0  0.913209 -0.759918 -0.338319  1.081894  2.015009  1   True   \n",
      "3 -0.252026  0.0  0.240364  0.289508 -1.560852  2.178684  1.255095  2   True   \n",
      "4 -0.202098  1.0  0.455254  0.713760 -0.968544  0.454407 -0.410060  0   True   \n",
      "\n",
      "           y  \n",
      "0  13.574042  \n",
      "1 -14.557342  \n",
      "2  14.659045  \n",
      "3  13.701713  \n",
      "4   7.247772  \n",
      "digraph { U[label=\"Unobserved Confounders\"]; U->y;v0->y;U->v0;W0-> v0; W1-> v0; W2-> v0; W3-> v0; W4-> v0;Z0-> v0; Z1-> v0;W0-> y; W1-> y; W2-> y; W3-> y; W4-> y;X0-> y;}\n",
      "\n",
      "\n",
      "graph[directed 1node[ id \"y\" label \"y\"]node[ id \"Unobserved Confounders\" label \"Unobserved Confounders\"]edge[source \"Unobserved Confounders\" target \"y\"]node[ id \"W0\" label \"W0\"] node[ id \"W1\" label \"W1\"] node[ id \"W2\" label \"W2\"] node[ id \"W3\" label \"W3\"] node[ id \"W4\" label \"W4\"]node[ id \"Z0\" label \"Z0\"] node[ id \"Z1\" label \"Z1\"]node[ id \"v0\" label \"v0\"]edge[source \"Unobserved Confounders\" target \"v0\"]edge[source \"v0\" target \"y\"]edge[ source \"W0\" target \"v0\"] edge[ source \"W1\" target \"v0\"] edge[ source \"W2\" target \"v0\"] edge[ source \"W3\" target \"v0\"] edge[ source \"W4\" target \"v0\"]edge[ source \"Z0\" target \"v0\"] edge[ source \"Z1\" target \"v0\"]edge[ source \"W0\" target \"y\"] edge[ source \"W1\" target \"y\"] edge[ source \"W2\" target \"y\"] edge[ source \"W3\" target \"y\"] edge[ source \"W4\" target \"y\"]node[ id \"X0\" label \"X0\"] edge[ source \"X0\" target \"y\"]]\n"
     ]
    }
   ],
   "source": [
    "data = dowhy.datasets.linear_dataset(beta=10,\n",
    "        num_common_causes=5,\n",
    "        num_instruments = 2,\n",
    "        num_effect_modifiers=1,\n",
    "        num_samples=20000, \n",
    "        treatment_is_binary=True,\n",
    "        num_discrete_common_causes=1)\n",
    "df = data[\"df\"]\n",
    "print(df.head())\n",
    "print(data[\"dot_graph\"])\n",
    "print(\"\\n\")\n",
    "print(data[\"gml_graph\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that we are using a pandas dataframe to load the data. At present, DoWhy only supports pandas dataframe as input."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Interface 1 (recommended): Input causal graph"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We now input a causal graph in the GML graph format (recommended). You can also use the DOT format.\n",
    "\n",
    "To create the causal graph for your dataset, you can use a tool like [DAGitty](http://dagitty.net/dags.html#) that provides a GUI to construct the graph. You can export the graph string that it generates. The graph string is very close to the DOT format: just rename `dag` to `digraph`, remove newlines and add a semicolon after every line, to convert it to the DOT format and input to DoWhy. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# With graph\n",
    "model=CausalModel(\n",
    "        data = df,\n",
    "        treatment=data[\"treatment_name\"],\n",
    "        outcome=data[\"outcome_name\"],\n",
    "        graph=data[\"gml_graph\"]\n",
    "        )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.view_model()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from IPython.display import Image, display\n",
    "display(Image(filename=\"causal_model.png\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The above causal graph shows the assumptions encoded in the causal model. We can now use this graph to first identify \n",
    "the causal effect (go from a causal estimand to a probability expression), and then estimate the causal effect."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**DoWhy philosophy: Keep identification and estimation separate**\n",
    "\n",
    "Identification can be achieved without access to the data, acccesing only the graph. This results in an expression to be computed. This expression can then be evaluated using the available data in the estimation step.\n",
    "It is important to understand that these are orthogonal steps.\n",
    "\n",
    "* Identification"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Estimand type: nonparametric-ate\n",
      "\n",
      "### Estimand : 1\n",
      "Estimand name: backdoor\n",
      "Estimand expression:\n",
      "  d                                    \n",
      "─────(Expectation(y|W3,W1,W4,W0,W2,X0))\n",
      "d[v₀]                                  \n",
      "Estimand assumption 1, Unconfoundedness: If U→{v0} and U→y then P(y|v0,W3,W1,W4,W0,W2,X0,U) = P(y|v0,W3,W1,W4,W0,W2,X0)\n",
      "\n",
      "### Estimand : 2\n",
      "Estimand name: iv\n",
      "Estimand expression:\n",
      "Expectation(Derivative(y, [Z1, Z0])*Derivative([v0], [Z1, Z0])**(-1))\n",
      "Estimand assumption 1, As-if-random: If U→→y then ¬(U →→{Z1,Z0})\n",
      "Estimand assumption 2, Exclusion: If we remove {Z1,Z0}→{v0}, then ¬({Z1,Z0}→y)\n",
      "\n",
      "### Estimand : 3\n",
      "Estimand name: frontdoor\n",
      "No such variable found!\n",
      "\n"
     ]
    }
   ],
   "source": [
    "identified_estimand = model.identify_effect(proceed_when_unidentifiable=True)\n",
    "print(identified_estimand)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note the parameter flag *proceed\\_when\\_unidentifiable*. It needs to be set to *True* to convey the assumption that we are ignoring any unobserved confounding. The default behavior is to prompt the user to double-check that the unobserved confounders can be ignored. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "* Estimation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "*** Causal Estimate ***\n",
      "\n",
      "## Identified estimand\n",
      "Estimand type: nonparametric-ate\n",
      "\n",
      "### Estimand : 1\n",
      "Estimand name: backdoor\n",
      "Estimand expression:\n",
      "  d                                    \n",
      "─────(Expectation(y|W3,W1,W4,W0,W2,X0))\n",
      "d[v₀]                                  \n",
      "Estimand assumption 1, Unconfoundedness: If U→{v0} and U→y then P(y|v0,W3,W1,W4,W0,W2,X0,U) = P(y|v0,W3,W1,W4,W0,W2,X0)\n",
      "\n",
      "## Realized estimand\n",
      "b: y~v0+W3+W1+W4+W0+W2+X0\n",
      "Target units: ate\n",
      "\n",
      "## Estimate\n",
      "Mean value: 9.566139500556192\n",
      "\n",
      "Causal Estimate is 9.566139500556192\n"
     ]
    }
   ],
   "source": [
    "causal_estimate = model.estimate_effect(identified_estimand,\n",
    "        method_name=\"backdoor.propensity_score_stratification\")\n",
    "print(causal_estimate)\n",
    "print(\"Causal Estimate is \" + str(causal_estimate.value))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can input additional parameters to the estimate_effect method. For instance, to estimate the effect on any subset of the units, you can specify the \"target_units\" parameter which can be a string (\"ate\", \"att\", or \"atc\"), lambda function that filters rows of the data frame, or a new dataframe on which to compute the effect. You can also specify \"effect modifiers\" to estimate heterogeneous effects across these variables. See `help(CausalModel.estimate_effect)`. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "*** Causal Estimate ***\n",
      "\n",
      "## Identified estimand\n",
      "Estimand type: nonparametric-ate\n",
      "\n",
      "### Estimand : 1\n",
      "Estimand name: backdoor\n",
      "Estimand expression:\n",
      "  d                                    \n",
      "─────(Expectation(y|W3,W1,W4,W0,W2,X0))\n",
      "d[v₀]                                  \n",
      "Estimand assumption 1, Unconfoundedness: If U→{v0} and U→y then P(y|v0,W3,W1,W4,W0,W2,X0,U) = P(y|v0,W3,W1,W4,W0,W2,X0)\n",
      "\n",
      "## Realized estimand\n",
      "b: y~v0+W3+W1+W4+W0+W2+X0\n",
      "Target units: atc\n",
      "\n",
      "## Estimate\n",
      "Mean value: 9.573808685737262\n",
      "\n",
      "Causal Estimate is 9.573808685737262\n"
     ]
    }
   ],
   "source": [
    "# Causal effect on the control group (ATC)\n",
    "causal_estimate_att = model.estimate_effect(identified_estimand,\n",
    "        method_name=\"backdoor.propensity_score_stratification\",\n",
    "        target_units = \"atc\")\n",
    "print(causal_estimate_att)\n",
    "print(\"Causal Estimate is \" + str(causal_estimate_att.value))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Interface 2: Specify common causes and instruments"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# Without graph                                       \n",
    "model= CausalModel(                             \n",
    "        data=df,                                      \n",
    "        treatment=data[\"treatment_name\"],             \n",
    "        outcome=data[\"outcome_name\"],                 \n",
    "        common_causes=data[\"common_causes_names\"],\n",
    "        effect_modifiers=data[\"effect_modifier_names\"])                         "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.view_model()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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KYm+vr709vbm/fv35ZbzrKMkU7F49OgRmzdvzqZNmxp1tZiq4ubmxujo6CLXxehMIxZHjhyhubk5P//8c5KPv723a9eOAOjk5CTpcYHFixfrk2ZpPx9//LFkGp7m6WpGLVu2NIqD/A8fPmR0dDQbNGhQoWLzsbGxVKvVvHHjhoGUGh8PHz5ks2bN2KhRI6Pr3vOMoiRTMfnrr7/o4uLCN954Q24pktGxY8cS7+6q2plGTL7++muamZnxq6++oouLCzUajT6R7d27V7Jx161bV2oS1Wg09Pf3N9hdaXHVjMaMGcNWrVoZZPzi+OOPPxgREUFra2va29szIiKCZ86cKffrmzZtykGDBkmo0LhJS0tjq1atWKdOHf71119yy1F4jJJMxWb79u0mU5WnMgwfPpydOnUq9TmV7UwjJlqtlq1bt6YgCFSpVIWS2b/+9S/Jxi04BlNaMv3zzz8lG/9JSqpmtHLlSmo0GoOWxCzYUNS+fXsCoK+vL6OjoytcoWj79u0EwCNHjkik1LjJzMxkx44dWbNmTdnX3xUKoSRTKfj000+p0WiYkJAgtxTRmTdvHmvUqFGu5xZ0phEEoVydacQiKSmJXbp0KZREn/ypWbOmZDuQT58+XWIiValUorXAunTpUomPlVXN6MqVKwTAgwcPiqKlNAo2FLm4uJS6oai8dO/enUFBQSIqNB1ycnLYo0cPurq6VutiMSaKkkylQKfT8dVXX6W7uztv374ttxxR2bNnDwFU6H2VtzONGOzdu5eurq5lrltKdWdz586dEu9I27RpI8p67f79+2lra1tsH860tLQyqxnpdDq6urrym2++qbKW4sjPz+eGDRvYvXt3faGPzz//nImJiVWKe/r0aQqCwE2bNomk1HTIzc1laGgoHRwcjKbZhEIhlGQqFenp6fT19WW7du0MvmtTSh4+fEhBELh58+YKva48nWmqysGDB6lWqykIQqmJ1NzcnJGRkaKOXUB2dnaxY1paWopSASkrK4sNGzYkADZs2LDQucKKVDPq0aMHw8PDq6znSe7du8cZM2awbt26FASB3bp146+//irahq8hQ4bQ29u70C7tZ4H8/HwOGDCANjY23Ldvn9xyFIpHSaZScv78edrb2xvFzkkxqVevHj/77LNKvba0zjRisH37dnp6ehbacFTcT7169UQb82ksLS0LjSUIgmit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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from IPython.display import Image, display\n",
    "display(Image(filename=\"causal_model.png\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We get the same causal graph. Now identification and estimation is done as before."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "identified_estimand = model.identify_effect(proceed_when_unidentifiable=True)                         "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "* Estimation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "*** Causal Estimate ***\n",
      "\n",
      "## Identified estimand\n",
      "Estimand type: nonparametric-ate\n",
      "\n",
      "### Estimand : 1\n",
      "Estimand name: backdoor\n",
      "Estimand expression:\n",
      "  d                                 \n",
      "─────(Expectation(y|W0,W3,W1,W2,W4))\n",
      "d[v₀]                               \n",
      "Estimand assumption 1, Unconfoundedness: If U→{v0} and U→y then P(y|v0,W0,W3,W1,W2,W4,U) = P(y|v0,W0,W3,W1,W2,W4)\n",
      "\n",
      "## Realized estimand\n",
      "b: y~v0+W0+W3+W1+W2+W4\n",
      "Target units: ate\n",
      "\n",
      "## Estimate\n",
      "Mean value: 9.60353896239299\n",
      "\n",
      "Causal Estimate is 9.60353896239299\n"
     ]
    }
   ],
   "source": [
    "estimate = model.estimate_effect(identified_estimand,\n",
    "                                 method_name=\"backdoor.propensity_score_stratification\")         \n",
    "print(estimate)\n",
    "print(\"Causal Estimate is \" + str(estimate.value))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Refuting the estimate\n",
    "\n",
    "Let us now look at ways of refuting the estimate obtained."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Adding a random common cause variable"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refute: Add a Random Common Cause\n",
      "Estimated effect:9.60353896239299\n",
      "New effect:9.602995259163794\n",
      "\n"
     ]
    }
   ],
   "source": [
    "res_random=model.refute_estimate(identified_estimand, estimate, method_name=\"random_common_cause\")\n",
    "print(res_random)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Adding an unobserved common cause variable"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refute: Add an Unobserved Common Cause\n",
      "Estimated effect:9.60353896239299\n",
      "New effect:7.591550789699005\n",
      "\n"
     ]
    }
   ],
   "source": [
    "res_unobserved=model.refute_estimate(identified_estimand, estimate, method_name=\"add_unobserved_common_cause\",\n",
    "                                     confounders_effect_on_treatment=\"binary_flip\", confounders_effect_on_outcome=\"linear\",\n",
    "                                    effect_strength_on_treatment=0.01, effect_strength_on_outcome=0.02)\n",
    "print(res_unobserved)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Replacing treatment with a random (placebo) variable"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refute: Use a Placebo Treatment\n",
      "Estimated effect:9.60353896239299\n",
      "New effect:0.005166426876598622\n",
      "p value:0.47\n",
      "\n"
     ]
    }
   ],
   "source": [
    "res_placebo=model.refute_estimate(identified_estimand, estimate,\n",
    "        method_name=\"placebo_treatment_refuter\", placebo_type=\"permute\")\n",
    "print(res_placebo)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Removing a random subset of the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refute: Use a subset of data\n",
      "Estimated effect:9.60353896239299\n",
      "New effect:9.6152898407909\n",
      "p value:0.42\n",
      "\n"
     ]
    }
   ],
   "source": [
    "res_subset=model.refute_estimate(identified_estimand, estimate,\n",
    "        method_name=\"data_subset_refuter\", subset_fraction=0.9)\n",
    "print(res_subset)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As you can see, the propensity score stratification estimator is reasonably robust to refutations.\n",
    "For reproducibility, you can add a parameter \"random_seed\" to any refutation method, as shown below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Refute: Use a subset of data\n",
      "Estimated effect:9.60353896239299\n",
      "New effect:9.618271557173077\n",
      "p value:0.33\n",
      "\n"
     ]
    }
   ],
   "source": [
    "res_subset=model.refute_estimate(identified_estimand, estimate,\n",
    "        method_name=\"data_subset_refuter\", subset_fraction=0.9, random_seed = 1)\n",
    "print(res_subset)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
